Итак, чтобы получить нормальное приложение, которое прячется в SysTray нам просто надо его убрать с экрана. Создадим кнопку HIDE на диалоговом окне.

Напишем к ней код.
void CTestSystrayDlg::OnButton3()
{
ShowWindow(SW_HIDE);
}
Изменим код по нажатию на на иконку.
void CTestSystrayDlg::OnIcon(WPARAM wp, LPARAM lp)
{
if (lp==515) ShowWindow(SW_RESTORE);
}
Всё можете испытывать. Запустите. Нажмите кнопку SysTray - появится иконка. Нажмите кнопку Hide - окно пропадет вообще. Щелкните по иконке - окно появится. Теперь эти процедуры Вы можете комбинировать в произвольном порядке.